Copyright ã1992 by Scott Hess.  All Rights Reserved.

History of an Emulator

Stuart was born in February of 1990.  Dan Boehlke, the system administrator at Gustavus Adolphus College, wished to free up some desk space in his office.  The proposed solution was to purchase a VT100 emulator called Communicae for his NeXT.  Then, he could move his Mac to another part of the office, such as a shelf or a roundfile.  As one of the few GAC computer geeks, I spent alot of time in Dan's office, so I heard about the plan.  When he quoted me the price for Communicae, with Sophomore Enthusiasm I cried `What!  This couldn't be too hard to write!'

Why couldn't he just use NeXT's Terminal program?  Good question.  Because at the time, NeXT's Terminal program was very primitive indeed.

The first public release of Stuart was in March of 1990, a week before Easter.  The program was labeled Stuart0.8, and ambitiously included site license materials.  In retrospect, it was pathetic.  No scrollback, no selection or Copy, no speed to speak of.  It was Terminal1.0 with multiple windows.  First shareware sale, and my first commercial software sale, occurred three weeks later to the tune of a single user license.

Stuart0.9 came out at the end of April, and I don't seem to recall there being much improvement over v0.8.  It did have the ability to retrieve data from the Pasteboard.  There were a couple site licenses sold in May.

School got out around May 29, and I was going to be on-campus for the summer.  I began work on the promised June release - which was to have a scrollback buffer along with selection and copy ability.  On June 2, Stuart1.0- was released to the world.  Well, I think it was June 2 - I had spent a week sleeping under 6 hours a night and working the clock around two of those nights.

Meanwhile, out in Redwood City, California, the people at NeXT were pondering the fall release of NeXTSTEP2.0.  Apparently they too had decided that Terminal1.0 and Shell1.0 simply were not worth the while.  [Shell1.0 was sort of like the NeXTSTEP2.0 Workspace shell.]  During July, while I was busily working on Stuart2.0, I got a call from NeXT, and we reached an agreement whereby Stuart2.0 became Terminal2.0.

What followed was a trip to Redwood City, and two wonderful weeks of work amongst the graphics department in the software building (Building #2) at NeXT.  Got to meet all of the NeXT gods and goddesses, along with a lot of demi-gods.  And even the mere mortals, though there just weren't many of them around.  Came home with a good start on Terminal2.0.

Note: While I was involved with Terminal2.0, Stuart was not written at the behest of NeXT nor on NeXT's time.  NeXT is in no way, shape, or form responsible for Stuart, for anything Stuart does, or for anything Stuart does not do.  Stuart and Terminal2.0 have no connection in any sense but the sharing of certain source codes.  And, in the past two years even that link has become very tenuous due to rewriting on my part (and, presumably, on NeXT's part with Terminal).

But, that was not the end of Stuart, it was only the beginning.  When I arrived back at Gustavus, I found that in my absence there had been a small groundswell of support for Stuart.  This was in response to Stuart1.0-c, which was nothing compared to what I had for Stuart2.0.  [Amazingly enough, Stuart1.0-c is still available on some archive sites.]  Since the NeXT agreement was non-exclusive, Stuart2.0 was a guaranteed thing.

Stuart2.0 came out in November of 1990 with all of the features that Terminal2.0 had, except running under NeXTSTEP1.0.  Stuart2.11 came out in January, and was NeXTSTEP2.0 specific.

Then, nothing more happened.  I did a lot of work with Stuart, and with other programs, too, but nothing quite got released ...

Until Stuart2.3 was released on February 19, 1992.  Intended to simply to light a fire behind me, it ended up actually being quite a bit better than Stuart2.11.  And since, I've been working steadily, if not quite speedily, on Stuart2.4, which you see in front of you.